﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;

namespace Dhgms.JobHelper.Service
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        static void Main()
        {
            ServiceBase[] ServicesToRun;
            ServicesToRun = new ServiceBase[] 
            { 
                new Service1() 
            };
            ServiceBase.Run(ServicesToRun);

            //TODO: Sandbox
            // http://stackoverflow.com/questions/1893231/sandboxing-plugins-with-managed-extensibility-framework
            // http://kentb.blogspot.co.uk/2008/06/maf-gymnastics-skeletal-solution.html
            // http://kentb.blogspot.co.uk/2009/02/maf-and-mef.html
            //TODO: Installer
            //TODO: Event Log
            //TODO: Logger
            //TODO: Load Jobs listing from database
            //TODO: Load Jobs from dll
            //TODO: Check Jobs registration in Windows Task Scheduler
            //TODO: OnJobComplete triggers
            //TODO: Add In Memory Monitoring
            // http://stackoverflow.com/questions/26074/how-can-i-figure-out-how-much-memory-a-net-appdomain-is-consuming
            // http://msdn.microsoft.com/en-us/library/dd997285(v=vs.110).aspx
            // http://msdn.microsoft.com/en-us/library/system.appdomain.monitoringtotalallocatedmemorysize(v=vs.110).aspx
        }
    }
}
